package org.jeecg.modules.param.spend.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 消费记录
 * @Author: 月月鸟
 * @Date:   2021-05-31
 * @Version: V1.0
 */
@Data
@TableName("bike_member_user_spend")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bike_member_user_spend对象", description="消费记录")
public class BikeMemberUserSpend implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**车辆编号 bike_vehicle */
    @TableField(exist = false)
    @Excel(name = "车辆编号", width = 15)
    @ApiModelProperty(value = "车辆编号")
    private java.lang.String vehicleCode;
    @Excel(name = "车辆类型", width = 15,dicCode = "bike_type")
    @ApiModelProperty(value = "车辆类型")
    @Dict(dicCode = "bike_type")
    @TableField(exist = false)
    private java.lang.String vehicleType;
    /**会员号 bike_member_user 通过会员信息 关联*/
    @Excel(name = "会员号", width = 15)
    @ApiModelProperty(value = "会员号")
    @TableField(exist = false)
    private java.lang.String userCode;
    /**会员姓名 bike_member_user 通过会员信息 关联*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "会员姓名")
    @TableField(exist = false)
    private java.lang.String userName;
    @Excel(name = "借出网点编号", width = 15)
    @ApiModelProperty(value = "借出网点编号")
    @TableField(exist = false)
    private java.lang.String pickStationCode;
    @Excel(name = "借出网点名称", width = 15)
    @ApiModelProperty(value = "借出网点名称")
    @TableField(exist = false)
    private java.lang.String pickStationName;
    /**借出时间 bike_vehicle_order*/
    @Excel(name = "借出时间", width = 15,format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private java.lang.String pickTime;
    @Excel(name = "结算网点编号", width = 15)
    @ApiModelProperty(value = "结算网点编号")
    @TableField(exist = false)
    private java.lang.String parkStationCode;
    @Excel(name = "结算网点名称", width = 15)
    @ApiModelProperty(value = "结算网点名称")
    @TableField(exist = false)
    private java.lang.String parkStationName;
    /**结算时间*/
    @Excel(name = "结算时间",width = 15,format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "结算时间")
    private java.util.Date createTime;
    /**用车方式*/
    @Excel(name = "用车方式", width = 15, dicCode = "use_type")
    @Dict(dicCode = "use_type")
    @ApiModelProperty(value = "用车方式")
    @TableField(exist = false)
    private java.lang.String useType;
    /**用车时长(分钟)*/
    //@Excel(name = "用车时长(分钟)", width = 15)
    @ApiModelProperty(value = "用车时长(分钟)")
    @TableField(exist = false)
    private java.lang.Integer useLong;
    /**使用时长MMss版(分钟)*/
    @Excel(name = "用车时长(分钟)", width = 15)
    @ApiModelProperty(value = "使用时长MMss版")
    @TableField(exist = false)
    private java.lang.String useMMss;
    /**支付后钱包余额*/
    @Excel(name = "钱包余额", width = 15)
    @ApiModelProperty(value = "支付后钱包余额")
    private java.math.BigDecimal balanceEnd;
    /**支付类型(1钱包支付2支付宝支付3组合支付4免单)*/
    @Excel(name = "支付方式", width = 15, dicCode = "spend_type")
    @Dict(dicCode = "spend_type")
    @ApiModelProperty(value = "支付类型(1钱包支付2支付宝支付3组合支付4免单)")
    private java.lang.String spendType;
    /**钱包支付金额*/
    @Excel(name = "钱包支付金额", width = 15)
    @ApiModelProperty(value = "钱包支付金额")
    private java.math.BigDecimal spendAmount;
    /**支付宝支付金额*/
    @Excel(name = "支付宝支付金额", width = 15)
    @ApiModelProperty(value = "支付宝支付金额")
    private java.math.BigDecimal aliAmount;


	/**借还记录ID*/
	//@Excel(name = "借还记录ID", width = 0)
    @ApiModelProperty(value = "借还记录ID")
    private java.lang.String orderId;
    /**借还记录Code*/
    //@Excel(name = "借还记录编号", width = 0)
    @ApiModelProperty(value = "借还记录Code")
    @TableField(exist = false)
    private java.lang.String orderCode;

    /**商户订单号*/
    //@Excel(name = "商户订单号", width = 0)
    @ApiModelProperty(value = "商户订单号")
    private java.lang.String outTradeNo;








	/**会员ID*/
	@Excel(name = "会员ID", width = 0)
    @ApiModelProperty(value = "会员ID")
    private java.lang.String userId;





	/**映射支付宝用户(bike_ali_user)*/
	@Excel(name = "映射支付宝用户(bike_ali_user)", width = 0)
    @ApiModelProperty(value = "映射支付宝用户(bike_ali_user)")
    private java.lang.String aliUserId;
	/**映射支付宝订单编码(bike_ali_order_pay)*/
	@Excel(name = "映射支付宝订单编码(bike_ali_order_pay)", width = 0)
    @ApiModelProperty(value = "映射支付宝订单编码(bike_ali_order_pay)")
    private java.lang.String aliOrderId;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;

	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**备注*/
	@Excel(name = "备注", width = 0)
    @ApiModelProperty(value = "备注")
    private java.lang.String memo;


    /**开始时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
    private java.util.Date startTime;
    /**结束时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "结束时间")
    @TableField(exist = false)
    private java.util.Date endTime;

}
